﻿@model CreateTaskVM

@Html.HiddenFor(model => model.ApplyToEmpId) 
@Html.HiddenFor(model => model.CreateByEmpId)
@Html.HiddenFor(model => model.AppPrcId)
@Html.HiddenFor(model => model.AppPrcGrpId)
@Html.HiddenFor(model => model.RefId) 
@Html.HiddenFor(model => model.RefCode)
@Html.HiddenFor(model => model.ConfirmAs) 
@Html.HiddenFor(model => model.ApproveAs)
@Html.HiddenFor(model => model.Amount)

<div class="widget-box">
	<div class="widget-header header-color-blue2">
        <h4 class="lighter smaller">ยืนยันคำขออนุมัติ</h4>
        <div class="widget-toolbar"> 
		    <a href="#" data-action="collapse">
			    <i class="icon-chevron-up"></i>
		    </a> 
	    </div>
    </div>
    <div class="widget-body">
        <div class="widget-body-inner">
            <div class="widget-main form-horizontal">
                <div class="control-group">
                    <div class="control-label">รหัสที่เกี่ยวข้อง</div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        <span style="color:blue;font-weight: bold;">@Model.RefCode</span>
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">ชื่อเรื่อง</div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        <textarea id="Title" name="Title" rows="2" style="width: 80%">@Model.Title</textarea>
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">รายละเอียด</div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        <textarea  id="Remark" name="Remark" rows="4" style="width: 80%">@Model.Remark</textarea>
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">ประเภทคำขออนุมัติ</div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @{
                            var appPrc = new KPIS.GERP.WEB.GIMS.SysApprovalService.SysApprovalServiceClient().SelectApproveProcess(0).FirstOrDefault(o => o.AppPrcId == Model.AppPrcId);
                            
                        }
                        @(appPrc != null ? appPrc.Name : "")
                    </div>
                </div>
                <hr/>
                <div class="control-group">
                    <div class="control-label">ผู้ขอ</div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.ApplyToEmployee.FullName)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">หน่วยงาน</div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.ApplyToEmployee.JobSite.Name)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">วงเงิน</div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.Amount) บาท
                    </div>
                </div>
                @{
                    var mappingMatch = ViewBag.mappingMatch as ApproveProcessMapping;
                    if(mappingMatch != null)
                    { 
                        <div class="control-group">
                            <div class="control-label">หมายเหตุ</div>
                            <div class="controls-detail" style="margin-top:5px !important;"> 
                                <i class="text-info">
                                    ประเภทอนุมัตินี้ ถูกเลือกด้วยเงื่อนไขวงเงิน 
                                    @switch(mappingMatch.TypeOfCompare)
                                    {
                                        case TypeOfCompare.LessThan: @Html.Raw("น้อยกว่า"); break;
                                        case TypeOfCompare.MoreThan: @Html.Raw("มากกว่า"); break;
                                        case TypeOfCompare.Equal: @Html.Raw("เท่ากับ"); break;
                                        case TypeOfCompare.LessThanOrEqual: @Html.Raw("ไม่เกิน"); break;
                                        case TypeOfCompare.MoreThanOrEqual: @Html.Raw("ตั้งแต่"); break;
                                        case TypeOfCompare.NotEqual: @Html.Raw("ไม่เท่ากับ"); break;
                                    }   
                                    @mappingMatch.ValueToCompare.ToString("#,##0.00") 
                                    @(string.IsNullOrWhiteSpace(mappingMatch.Description) ? "" : " - " + @mappingMatch.Description)<br/>
                                </i>
                            </div>
                        </div>
                    }
                }
                @{
                    ViewBag.applyToEmpId = Model.ApplyToEmpId;
                    ViewBag.appPrcId = Model.AppPrcId;
                }
                <div style="width: 100%; ">
                    @Html.Partial("~/Views/Task/_DetailTabApprovePath.cshtml")
                </div>
                @*
                <div class="control-group">
                    <div class="control-label">ขั้นตอนตามคำขอ</div>
                    <div class="controls-detail" style="margin-top: 5px !important;">

                        @{
                            var testEmp = new KPIS.GERP.WEB.GIMS.EmployeeService.EmployeeServiceClient().Select(new Employee { EmpId = KPIS.GERP.WEB.GIMS.Class.GimsMembership.CurrentEmpId }, new[] { "Position.WorkingUpperPosition" }, null).First();


                            var appProc = new KPIS.GERP.WEB.GIMS.SysApprovalService.SysApprovalServiceClient().SelectApproveProcess(0).FirstOrDefault(o => o.AppPrcId == Model.AppPrcId && o.RecordStatus != "D");
                            var appPaths = new KPIS.GERP.WEB.GIMS.SysApprovalService.SysApprovalServiceClient().SelectApprovePath().Where(o => o.AppPrcId == Model.AppPrcId && o.RecordStatus == "U");
                            var employees = new KPIS.GERP.WEB.GIMS.EmployeeService.EmployeeServiceClient().Select(null, new[] { "Position.WorkingUpperPosition" }, null).Where(o => o.RecordStatus != "D");
                            var positions = new GERPContext(true).Positions.Where(o => o.RecordStatus != "D");
                            string tab = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                            string tabCur = tab;
                        }


                        <div class="detail">
                            @if (testEmp != null)
                            {
                                <b><span style="text-decoration: underline">@(appProc.Name)</span> มีขั้นตอนการอนุมัติเป็นดังนี้</b><br />
                                <br />
                                Position testEmpPos = testEmp.Position;
                                <b>ตัวผู้ขอ : @testEmp.FullName [@testEmpPos.PosNo - @testEmpPos.Name]</b>
                                @:&nbsp;<span style="color: rgb(255, 200, 0)">&raquo;</span>&nbsp;
                                Position poscur = testEmpPos;
                                <br />
                                <br />

                                foreach (var appPath in appPaths)
                                {
                                <text>
                                @Html.Raw(tabCur)<b>ขั้นตอนที่ @appPath.StepNo</b> ผู้อนุมัติแบบ 
                                        @if (appPath.ApproverType == ApproverType.JobSiteHead)
                                        {
                                            @: หัวหน้าสำนัก
                                        }
                                        else if (appPath.ApproverType == ApproverType.Position)
                                        {
                                            @: ตำแหน่ง
                                        }
                                        else if (appPath.ApproverType == ApproverType.PositionGroup)
                                        {
                                            @: กลุ่มตำแหน่ง
                                        }
                                        else
                                        {
                                            @: ตำแหน่งบริหาร
                                        }


                                @switch (appPath.ApproverType)
                                {
                                    case ApproverType.JobSiteHead:
                                        {
                                            int i = 1;
                                            if (testEmpPos.ExecPosId == 251)
                                            {
<span style="color: rgb(177, 177, 177)">เป็นหัวหน้าสำนักอยู่แล้ว (ขั้นตอนนี้ไม่ต้องทำ)</span>
                                                    }
                                                    else
                                                    {
                                                        if (testEmpPos.WorkingUpperPosition == null)
                                                        {
<span style="color: rgb(177, 177, 177)">ไม่มีผู้บังคับบัญชาที่เหนือกว่า (ขั้นตอนนี้ไม่ต้องทำ)</span>
                                                        }
                                                        else
                                                        {
                                                            while (poscur.WorkingUpperPosition != null)
                                                            {@:@(i++)).&nbsp;
                                    
                                                                poscur = poscur.WorkingUpperPosition;

                                                                if (poscur != null)
                                                                {<text>@poscur.PosNo - @poscur.Name
                                    [@employees.FirstOrDefault(o => o.PosId == poscur.PosId).FullName]</text>
                                                                }

                                                                if (poscur.ExecPosId == 251)
                                                                {
                                                                    break;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                                break;
                                            case ApproverType.Position:
                                                {
                                                    var pos = positions.FirstOrDefault(o => o.PosId == appPath.PosId);

                                                    if (pos == null)
                                                    {
                                    @:ตำแหน่งผิด
                                                    }
                                                    else
                                                    {
                                                        if (pos.PosId == testEmpPos.PosId)
                                                        {
<span style="color: rgb(177, 177, 177)">ตำแหน่งของผู้ขอเอง (ขั้นตอนนี้ไม่ต้องทำ)</span>
                                                        }
                                                        else
                                                        {<text>@pos.PosNo - @pos.Name
                                    [@employees.FirstOrDefault(o => o.PosId == pos.PosId).FullName]</text>
                                                        }
                                                    }
                                                }
                                                break;
                                        }

                                <span style="color: orange">สิทธิ์ [
                                            <span style="color: red">@(appPath.IsApproveAble ? "อนุมัติ" : "")</span>
                                    <span style="color: red">@(appPath.IsRejectable ? "ไม่ผ่านการอนุมัติ" : "")</span>
                                    <span style="color: green">@(appPath.IsForwardable ? "ส่งต่อ" : "")</span>
                                    ]</span>
                                &nbsp;<span style="color: rgb(255, 200, 0)">&raquo;</span>&nbsp;
                                    </text>
                                    tabCur += "&nbsp&nbsp&nbsp";
                                <br />
                                <br />
                                }

                                @Html.Raw(tabCur)<span style="color: rgb(177, 177, 177)">สิ้นสุดขั้นตอนการอนุมัติ</span>
                            }
                        </div>
                    </div>
                    <hr />
                    <center>
                        <span style="color:red">หากท่านต้องการยืนยันการส่งขออนุมัติ กรุณากดที่ปุ่มยืนยันการส่งขออนุมัติ</span>
                    </center>
                </div>*@
            </div>
        </div>
    </div>
</div>
